Skip to main content

Java RESTful Engine Performance

This article outlines some Java RESTful Engine load tests that we ran.

Depending on your load, size of data, or the expected size of out put you will need a server with more RAM. If you believe you have enough memory on your server and are experiencing issues producing output, check the catalina.out logs for an out of memory exception. If you see that, you can try to follow the steps [here](https://crunchify.com/how-to-change-jvm-heap-setting-xms-xmx-of-tomcat/) to increase / decrease your heap size

Performance Tests

For these tests, we used two different "sized" virtual machines on AWS. These are the specifications of the VMs we used:

t2.smallt2.large
vCPU12
CPU Credits/ hour1236
Mem (GiB)28
StorageEBS-OnlyEBS-Only
Network PerformanceLow - ModerateModerate

The tests consisted of sending about 16 requests per second for 1 minutes (~1000 requests). We measured the time from for first request to the time of the final document becoming ready on the disk. So the time it takes to post and process 1000 requests. Here are the results we found after running the tests.

Performance Test Results

Version 22.4.*

t2.smallt2.large
Run 1 (Document/ second)1.632.75
Run 2 (Document/ second)1.672.62
Run 3 (Document/ second)1.522.60
Average (Document/ second)1.602.63